/**
 * @file 数据库相关类型定义
 * @description 定义数据库表结构和相关接口类型
 * @author 黄敏
 * @version 1.0.0
 * @since 2025-08-05
 */

// 导出异步任务相关类型
export type {
  CreateAsyncTaskInput,
  ParsedAsyncTask,
  QueryAsyncTaskParams,
  UpdateAsyncTaskInput
} from './models/async-task.model'
export { AsyncTaskModel, TaskStatus, TaskType } from './models/async-task.model'

// 导入 Realm 模型类型
export type {
  CreateBrowsingHistoryInput,
  DatabaseResult,
  QueryBrowsingHistoryParams,
  UpdateBrowsingHistoryInput
} from './models/browsing-history.model'
export { BrowsingHistoryModel } from './models/browsing-history.model'

/**
 * 数据库配置选项
 */
export interface DatabaseConfig {
  /** 数据库文件路径 */
  dbPath: string
  /** 数据库模式版本 */
  schemaVersion?: number
  /** 开发模式下是否删除数据库进行迁移 */
  deleteRealmIfMigrationNeeded?: boolean
}

/**
 * SQL 查询参数类型
 */
export type SqlQueryValue = string | number | null
